﻿#pragma once
#include <EGL/egl.h>

class EglContext
{
public:
	EglContext();
	~EglContext();

	/** 打开渲染句柄 */
	int open(EGLNativeWindowType wnd);

	/** 关闭渲染句柄 */
	void close();

	/** 使用此上下文做为渲染目标 */
	void use();

	/** 当一帧渲染完成后，把帧切换到前台帧进行显示 */
	void swap();

private:
	/** 
	EGLDisplay 是一个关联系统物理屏幕的通用数据类型, 表示显示设备句柄, 也可以认为是一个前端显示窗.
	为了使用系统的显示设备, EGL 提供了 EGLDisplay 数据类型, 以及一组操作设备显示的 API .
	*/
	EGLDisplay _display;

	/** 渲染目标 */
	EGLSurface _surface;
	EGLContext _context;
};